Internet Protocol version 6 (IPv6) is a version of the Internet Protocol (IP). IPv6 is designed to succeed IP version 4 (IPv4). The Internet operates by transferring data between hosts in packets that are independently routed across networks as specified by an international communications protocol known as IP. Each host or computer on the Internet requires an IP address in order to communicate. The growth of the Internet has created a need for more addresses than are possible with IPv4. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with this long-anticipated IPv4 address exhaustion, and is described in Internet standard document Request for Comment (RFC) 2460, published in December 1998, which is incorporated herein by reference. Similar to IPv4, IPv6 is an Internet Layer protocol for packet-switched internetworking and provides end-to-end datagram transmission across multiple IP networks. While IPv4 allows 32 bits for an IP address, and can therefore support up to 232 (4,294,967,296) addresses, IPv6 uses 128-bit addresses, so the new address space supports 2128 (approximately 3.4×1038) addresses. This expansion allows for many more devices and users on the internet as well as extra flexibility in allocating addresses and efficiency for routing traffic. It also eliminates the primary need for network address translation (NAT), which gained widespread deployment as an effort to alleviate IPv4 address exhaustion.